home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
PC World Komputer 2010 April
/
PCWorld0410.iso
/
hity wydania
/
Ubuntu 9.10 PL
/
karmelkowy-koliberek-desktop-9.10-i386-PL.iso
/
casper
/
filesystem.squashfs
/
etc
/
dhcp3
/
dhclient-enter-hooks.d
/
samba
< prev
Wrap
Text File
|
2009-10-02
|
2KB
|
78 lines
#!/bin/sh
SAMBA_DHCP_CONF=/etc/samba/dhcp.conf
netbios_setup() {
# No need to continue if we're called with an unsupported option
case $reason in
BOUND|RENEW|REBIND|REBOOT|EXPIRE|FAIL|RELEASE|STOP)
;;
*)
return
;;
esac
umask 022
local other_servers
other_servers==""
local serverlist
serverlist==""
# the destination file won't exist yet on the first run after
# installing samba
if [ -e $SAMBA_DHCP_CONF ]
then
# don't continue if no settings have changed
if [ "$new_netbios_name_servers" = "$old_netbios_name_servers" ] \
&& [ "$new_netbios_scope" = "$old_netbios_scope" ] \
&& [ -n "$new_netbios_name_servers" ]
then
return
fi
# reparse our own file
other_servers=`sed -n -e"s/[[:space:]]$interface:[^[:space:]]*//g; \
s/^[[:space:]]*wins server[[:space:]]*=[[:space:]]*//pi" \
$SAMBA_DHCP_CONF`
serverlist="$other_servers"
fi
for server in $new_netbios_name_servers
do
serverlist="$serverlist $interface:$server"
done
echo -n > ${SAMBA_DHCP_CONF}.new
# If we're updating on failure/expire, AND there are no WINS
# servers for other interfaces, leave the file empty.
if [ -z "$other_servers" ]
then
if [ "$reason" = FAIL ] || [ "$reason" = EXPIRE ]
then
mv ${SAMBA_DHCP_CONF}.new $SAMBA_DHCP_CONF
return
fi
fi
if [ -n "$serverlist" ]
then
echo " wins server =$serverlist" >> ${SAMBA_DHCP_CONF}.new
fi
if [ -n "$new_netbios_scope" ]
then
echo " netbios scope = $new_netbios_scope" >> ${SAMBA_DHCP_CONF}.new
fi
mv ${SAMBA_DHCP_CONF}.new $SAMBA_DHCP_CONF
# reload the samba server
# We don't necessarily have the samba package installed. #414841
[ -x /etc/init.d/samba ] && /usr/sbin/invoke-rc.d samba reload
}
netbios_setup